Geometric Techniques for Parallelizing and Scheduling Do-loops Tang Dongxing

نویسنده

  • Gopal Gupta
چکیده

To parallelize a DO-loop in a Fortran program, the independence of various iterations of the DO-loop has to be detected. Two commonly used tests to check for iteration independence are the GCD test and the Banerjee test. In this paper we introduce a new data dependence test called the Diagonal test that is based on some very simple geometric properties of straight lines and hyper-planes. We show that the Diagonal test is equivalent to Banerjee test. However, the Diagonal test is more intuitive, especially for singly-nested loops. The Diagonal test also inspires a new approach to parallelizing DO-loops by repeatedly partitioning a loop into smaller loops, and scheduling these smaller loops for parallel execution based on the data-dependence analysis.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Chain-Based Scheduling: Part I { Loop Transformations and Code Generation

Chain-based scheduling [1] is an e cient partitioning and scheduling scheme for nested loops on distributed-memory multicomputers. The idea is to take advantage of the regular data dependence structure of a nested loop to overlap and pipeline the communication and computation. Most partitioning and scheduling algorithms proposed for nested loops on multicomputers [1,2,3] are graph algorithms on...

متن کامل

Geometric Scheduling of 2-D UET-UCT Uniform Dependence Loops

Finding an optimal time schedule is one of the primary tasks in the area of parallelizing uniform dependence loops. Due to the existence of dependence vectors, the index space of such a loop, is split into subspaces of points that can be executed at different time instances. The geometric representation of these sets form certain polygonal shapes called patterns, with special attributes and cha...

متن کامل

Chain-based Scheduling: Part I { Loop Transformations and Code Generation Chain-based Scheduling: Part I { Loop Transformations and Code Generation

Chain-based scheduling 1] is an eecient partitioning and scheduling scheme for nested loops on distributed-memory multicomputers. The idea is to take advantage of the regular data dependence structure of a nested loop to overlap and pipeline the communication and computation. Most partitioning and scheduling algorithms proposed for nested loops on multicomputers 1,2,3] are graph algorithms on t...

متن کامل

Parallelizing while loops for multiprocessor systems

Current parallelizing compilers treat WHILE loops and DO loops with conditional exits as sequential constructs because their iteration space is unknown. Motivated by the fact that these types of loops arise frequently in practice, we have developed techniques that can be used to automatically transform them for parallel execution. We succeed in parallelizing loops involving linked lists travers...

متن کامل

Compile-Time Parallelism Evaluation in a Loop-Parallelizing Environment

In this paper we present an approach to the static evaluation of the parallelism of DO-loops in an automatic parallelizing environment. The evaluation is performed from the dependence graph with a set of dependence relations between statements of the loop. The presence of control dependences due to conditional statements is also considered, evaluating in this case bounds of the loop parallelism...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994